package demo09;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @program: qy158
 * @description:
 * @author: 闫克起2
 * @create: 2022-10-26 10:39
 **/
public class Test {
    public static void main(String[] args) {

    }
}
@Target(value = {ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@interface A{
      int age() default 18; //一旦定义好属性如果该属性没有默认值，那么必须在使用该注解时指定属性的值
      String[] hobby(); //如果是数组那么在使用该注解是该属性的值 使用{}来给定
      My  my(); //枚举类型
      B b();//注解类型的属性
}
@interface B{
     String value();
     String name() default "";
}

//@A(hobby = {"游泳","看书"},my=My.AGE,b=@B("张三"))
@A(hobby = "游泳",my=My.AGE,b=@B("张三"))
class Student{

}

enum My{
    TYPE,NAME,AGE
}





